移远EC200T 4G模组的使用
1. 环境搭建¶
-
准备移远官方文档以及内核相应改动代码
-
sstar 开发包
2. 修改kernel¶
将移远的kernel相应改动加到相应目录,需要区分对应内核版本,对应改动参考文件请咨询模组厂商。 (目前使用内核版本为4.9.84,可以选择相近的版本4.9.111或者4.9.51)
3. 三种联网方式¶
EC200T支持PPP拨号,ECM以及RNDIS三种联网方式。
3.1. PPP拨号¶
-
下载开源工具: PPP
-
解压并编译
-
tar -xvf ppp-2.4.8.tar.gz
-
最新版的pppd默认使用openssl库,需要改为内置libcrpto, 修改 pppd/Makefile.linux, 将 #USE_CRYPT=y 改为 USE_CRYPT=y
-
使用静态编译, 修改pppd/Makefile.linux, 修改COPTS = -O2 -pipe -Wall -g → COPTS = -O2 -pipe -Wall -g --static
./configure make CC=arm-linux-gnueabihf-gcc
如果遇到无法找到crypt的库,请点击此处下载静态库
-
-
将生成的程序拷贝到rootfs的对应目录
cp ppp-2.4.8/chat/chat $(ROOTFS)/usr/sbin cp ppp-2.4.8/pppd/pppd $(ROOTFS)/usr/sbin cp ppp-2.4.8/pppddump/pppddumo $(ROOTFS)/usr/sbin cp ppp-2.4.8/pppstats/pppstats $(ROOTFS)/usr/sbin
-
创建配置文件
mkdir $(ROOTFS)/etc/ppp/ $(ROOTFS)/etc/ppp/peers cp ppp-2.4.8/etc.ppp/pap-secrets $(ROOTFS)/etc/ppp cp ppp-2.4.8/etc.ppp/chap-secrets $(ROOTFS)/etc/ppp touch $(ROOTFS)/etc/ppp/peers/gprs touch $(ROOTFS)/etc/ppp/gprs-connect-chat touch $(ROOTFS)/etc/ppp/ip-up touch $(ROOTFS)/etc/ppp/ip-down
/etc/ppp/peers/gprs文件
# /etc/ppp/peers/gprs # Usage: root>pppd call gprs # Interface should be used is the interface which connects physics interface of SIM7100C Module # ttyname 串口端口,若非以”/“开头,则会自动补充”/dev/“ /dev/ttyUSB1 # speed 串口波特率 115200 #硬件流控 crtscts # 调制解调器模式 modem # 无需身份验证 noauth # 不要求使用chap授权 refuse-chap # 不要求使用mschap授权 refuse-mschap # 不要求使用mschap-v2授权 refuse-mschap-v2 # 调试模式 pppd将以可读形式记录发送或接收的所有控制数据包的内容 debug # 前台运行 nodetach #hide-password # 向ISP请求2个dns服务器地址。这两个地址将以DNS1与DNS2两个环境变量传送到/etc/ppp/ip-up脚本中,并且将环境变量USEPEERDNS置为1 usepeerdns # 禁用本地ip,由ISP提供 noipdefault # 添加ISP网关至路由表,作为默认路由 defaultroute # 用户名 user "cmnet" 0.0.0.0:0.0.0.0 #ipcp-accept-local #ipcp-accept-remote # 使能以下两个选项可以实现ppp掉线自动重播 # lcp连接失败尝试次数 lcp-echo-failure 6 # lcp echo发送间隔 lcp-echo-interval 10 # 禁用压缩控制协议ccp #noccp # 禁用Van Jacobson格式的tcp/ip报头 #novj #novjccomp # 连接终止后不要退出,而是重新尝试连接,连接次数受到maxfail限制 persist # 连接最大尝试次数,0无限制 #maxfail # 启动ppp协议前,进行硬件拨号 connect '/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'
/etc/ppp/gprs-connect-chat
# 设置响应超时 TIMEOUT 15 # 若接收到“DELAYED”、“BUSY”、“ERROR”、“NO DIALTONE”、“NO CARRIER”,则退出脚本 ABORT "DELAYED" ABORT "BUSY" ABORT "ERROR" ABORT "NO DIALTONE" ABORT "NO CARRIER" # 无期望,直接发送AT字符串 '' AT # 以下内容可以根据自己模块提供的AT命令手册查询含义 OK ATS0=0 OK ATE0V1 # 设置APN,移动、联通、电信各不相同,见文末表格 OK AT+CGDCONT=1,"IP","CMNET" # 拨号开启GPRS服务,号码移动、联通、电信各不相同,见文末表格 OK ATD*99***1# #期望收到CONNECT CONNECT ''
/etc/ppp/ip-up文件
#!/bin/sh #ip-up dns_file="/etc/resolv.conf" if [ -f $dns_file ];then rm "$dns_file" fi ln /etc/ppp/resolv.conf "$dns_file"
/etc/ppp/ip-down文件
#!/bin/sh #ip-down #set -vx dns_file="/etc/resolv.conf" rm $dns_file cat > "$dns_file" <<EOF # auto create by ip-down nameserver 114.114.114.114 nameserver 8.8.8.8 EOF chmod 755 "$dns_file" /etc/init.d/networking restart echo "Set dns for eth0"
-
内核配置 开启usb串口驱动
CONFIG_USB_SERIAL CONFIG_USB_SERIAL_OPTION Device Drivers --> USB support --> USB Serial Converter support --> USB driver for GSM and CDMA modems -->
开启PPP驱动
CONFIG_PPP Device Drivers --> Network device support --> PPP (point-to-point protocol) support
-
PPP 拨号
-
配置好环境之后,将EC200T板子连接至Takoyaki开发板
-
长按EC200T PWRKEY按键启动模组, 此时Takoyaki /dev/目录会生成ttyUSB0 ttyUSB1 ttyUSB2节点
-
使用指令 pppd call gprs 使用ping www.baidu.com 看是否联通外网
-
3.2. ECM/RNDIS¶
-
内核配置
开启usb串口驱动
CONFIG_USB_SERIAL CONFIG_USB_SERIAL_OPTION Device Drivers --> USB support --> USB Serial Converter support--> USB driver for GSM and CDMA modems -->
开启ECM/RNDIS驱动
1. CONFIG_USB_NET_DRIVERS Device Drivers --> Network device support --> USB Network Adapters --> 2. CONFIG_USB_USBNET Device Drivers --> Network device support --> USB Network Adapters --> Multi-purpose USB Networking Framework --> 3. CONFIG_USB_NET_RNDIS_HOST Device Drivers --> Network device support --> USB Network Adapters --> Multi-purpose USB Networking Framework --> Host for RNDIS and ActiveSync devices -->
-
EC200T模式配置 AT Command ,具体含义参考文件请咨询模组厂商
-
使用 AT+QICSGP 配置 APN/用户名/密码/APN 认证
-
如果模块使用 2G/3G 网络, 使用 AT+QIACT=1 来启动 PDP
-
使用 AT+QNETDEVCTL=1,1,1 建立数据连接
-
使用dhcp工具配置dns以及ip地址
模式配置用例
## 4. microcom /dev/ttyUSB AT+QCFG="usbnet",1 OK at+cpin? +CPIN: READY OK at+csq +CSQ: 31,99 OK at+qicsgp=1,1,"cmnet" OK at+cops? +COPS: 0,0,"CHINA MOBILE",7 OK at+qnetdevctl=1,1,1 OK
dns与ip配置命令
udhcpc -i usb0 -s /etc/init.d/udhcpc.script
-